home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
prog_d
/
aspell22.zip
/
SUGDIALG.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1996-02-08
|
4KB
|
148 lines
unit Sugdialg;
interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls;
type
TSugDialog = class(TForm)
NotWord: TEdit;
SuggestList: TListBox;
BtnChange: TButton;
BtnIgnore: TButton;
BtnAdd: TButton;
BtnSuggest: TButton;
BtnCancel: TButton;
WordEdit: TEdit;
Label1: TLabel;
Label2: TLabel;
BtnIgnoreAll: TButton;
BtnChangeAll: TButton;
BtnPhoneme: TButton;
procedure BtnSuggestClick(Sender: TObject);
procedure BtnPhonemeClick(Sender: TObject);
procedure BtnChangeClick(Sender: TObject);
procedure BtnIgnoreClick(Sender: TObject);
procedure BtnAddClick(Sender: TObject);
procedure BtnCancelClick(Sender: TObject);
procedure SuggestListClick(Sender: TObject);
procedure SuggestListDblClick(Sender: TObject);
procedure BtnIgnoreAllClick(Sender: TObject);
procedure BtnChangeAllClick(Sender: TObject);
procedure WordEditKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
DictDataPtr : pointer; { Pointer to internal dictionary data }
MaxSuggest : byte; { Maximum number of suggestions }
TheResult : byte; { Result of button press }
procedure DisableButtons; { Disable all but the Cancel button }
procedure EnableButtons; { Enable all buttons/edits/Listboxs }
end;
var
SugDialog: TSugDialog;
implementation
{$R *.DFM}
uses BaseASpl;
procedure TSugDialog.DisableButtons;
{ Disable all but the Cancel button }
begin
BtnIgnore.Enabled := false;
BtnIgnoreAll.Enabled := false;
BtnChange.Enabled := false;
BtnChangeAll.Enabled := false;
BtnAdd.Enabled := false;
BtnSuggest.Enabled := false;
BtnPhoneme.Enabled := false;
NotWord.Enabled := false;
WordEdit.Enabled := false;
SuggestList.Enabled := false;
end;
procedure TSugDialog.EnableButtons;
{ Enable all buttons/edits/Listboxs }
begin
BtnIgnore.Enabled := true;
BtnIgnoreAll.Enabled := true;
BtnChange.Enabled := true;
BtnChangeAll.Enabled := true;
BtnAdd.Enabled := true;
BtnSuggest.Enabled := true;
BtnPhoneme.Enabled := true;
NotWord.Enabled := true;
WordEdit.Enabled := true;
SuggestList.Enabled := true;
end;
procedure TSugDialog.BtnSuggestClick(Sender: TObject);
begin
{ Build a new list of suggestions using the CloseMatch routine }
SuggestList.Items := BaseASpl.SuggestCloseMatch(DictDataPtr, WordEdit.Text, MaxSuggest);
end;
procedure TSugDialog.BtnPhonemeClick(Sender: TObject);
begin
{ Build a new list of suggestions using the Phoneme routine }
SuggestList.Items := BaseASpl.SuggestPhoneme(DictDataPtr, WordEdit.Text, MaxSuggest);
end;
procedure TSugDialog.BtnChangeClick(Sender: TObject);
begin
TheResult := 101; { Close dialog and return value }
end;
procedure TSugDialog.BtnIgnoreClick(Sender: TObject);
begin
TheResult := 103; { Close dialog and return value }
end;
procedure TSugDialog.BtnAddClick(Sender: TObject);
begin
TheResult := 102; { Close dialog and return value }
end;
procedure TSugDialog.BtnCancelClick(Sender: TObject);
begin
TheResult := 100; { Close dialog and return value }
end;
procedure TSugDialog.SuggestListClick(Sender: TObject);
begin
{ Make the word clicked in the listbox the selected word }
WordEdit.Text := SuggestList.Items.Strings[SuggestList.ItemIndex];
end;
procedure TSugDialog.SuggestListDblClick(Sender: TObject);
begin
{ Get the double clicked word }
WordEdit.Text := SuggestList.Items.Strings[SuggestList.ItemIndex];
TheResult := 101; { Close dialog and return Replace's code }
end;
procedure TSugDialog.BtnIgnoreAllClick(Sender: TObject);
begin
TheResult := 104; { Close dialog and return value }
end;
procedure TSugDialog.BtnChangeAllClick(Sender: TObject);
begin
TheResult := 105; { Close dialog and return value }
end;
procedure TSugDialog.WordEditKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
TheResult := 101; { Treat ENTER in WordEdit as pressing the Change button }
end;
end.